-
Notifications
You must be signed in to change notification settings - Fork 15.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rails2.7 segfaults #7091
Rails2.7 segfaults #7091
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
@googlebot I signed it! |
CLAs look good, thanks! ℹ️ Googlers: Go here for more info. |
@@ -20,6 +20,7 @@ def test_acts_like_an_array | |||
:iter_for_each_with_index, :dimensions, :copy_data, :copy_data_simple, | |||
:nitems, :iter_for_reverse_each, :indexes, :append, :prepend] | |||
arr_methods -= [:union, :difference, :filter!] | |||
arr_methods -= [:intersection, :deconstruct] # ruby 2.7 methods we can ignore |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not completely sure we can just ignore these methods, either way the segfault is more concerning at the moment
@@ -1708,7 +1712,7 @@ def test_freeze | |||
m.freeze | |||
|
|||
frozen_error = assert_raise(FrozenErrorType) { m.optional_int32 = 20 } | |||
assert_equal "can't modify frozen #{proto_module}::TestMessage", frozen_error.message | |||
assert_match "can't modify frozen #{proto_module}::TestMessage", frozen_error.message |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
exception message for FrozenError changed from Ruby 2.6 -> 2.7; it now include something like the inspect
version of an object in the error:
2.7.0 :001 > [1, 2, 3].freeze << 4
Traceback (most recent call last):
4: from /Users/ericwalker/.rvm/rubies/ruby-2.7.0/bin/irb:23:in `<main>'
3: from /Users/ericwalker/.rvm/rubies/ruby-2.7.0/bin/irb:23:in `load'
2: from /Users/ericwalker/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/irb-1.2.1/exe/irb:11:in `<top (required)>'
1: from (irb):1
FrozenError (can't modify frozen Array: [1, 2, 3])
594ecef
to
c4698b3
Compare
Hello! Please excuse my intrusion to this PR, but we're planning to upgrade our application to Ruby 2.7 and stuck since we can't run the latest released version with Ruby 2.7. I checked the failure (such as Linux Ruby 2.6) and noticed this line:
It seems like this problem was already fixed in 39f4240, but the branch in this PR doesn't have it, as I can confirm it here: @ewalk153, would you mind rebase this branch against Thank you very much! |
BigDecimal.new was deprecated in ruby 2.6
The error message for FrozenError changed to include more information about the mutated object. Switch from an exact match to an aproximate match (equal => match). This does not change the prefix.
c4698b3
to
974dbc7
Compare
@sikachu I've rebased on |
I think we need project maintainer to trigger the build (add |
@haberman apologies if this was held up by my not marking this 'ready for review'. Let me know if you need anything more from me to move forward. |
Following the script for ruby 2.6, this adds a build script line for ruby 2.7
Usage:
./tests.sh ruby27
Current failure is a segfault: